{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "42774845",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "18d96ca5",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "8a114f7b",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn import datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "4ed625ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "iris = datasets.load_iris()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "acf5591f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename'])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "3a397dfb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      ".. _iris_dataset:\n",
      "\n",
      "Iris plants dataset\n",
      "--------------------\n",
      "\n",
      "**Data Set Characteristics:**\n",
      "\n",
      "    :Number of Instances: 150 (50 in each of three classes)\n",
      "    :Number of Attributes: 4 numeric, predictive attributes and the class\n",
      "    :Attribute Information:\n",
      "        - sepal length in cm\n",
      "        - sepal width in cm\n",
      "        - petal length in cm\n",
      "        - petal width in cm\n",
      "        - class:\n",
      "                - Iris-Setosa\n",
      "                - Iris-Versicolour\n",
      "                - Iris-Virginica\n",
      "                \n",
      "    :Summary Statistics:\n",
      "\n",
      "    ============== ==== ==== ======= ===== ====================\n",
      "                    Min  Max   Mean    SD   Class Correlation\n",
      "    ============== ==== ==== ======= ===== ====================\n",
      "    sepal length:   4.3  7.9   5.84   0.83    0.7826\n",
      "    sepal width:    2.0  4.4   3.05   0.43   -0.4194\n",
      "    petal length:   1.0  6.9   3.76   1.76    0.9490  (high!)\n",
      "    petal width:    0.1  2.5   1.20   0.76    0.9565  (high!)\n",
      "    ============== ==== ==== ======= ===== ====================\n",
      "\n",
      "    :Missing Attribute Values: None\n",
      "    :Class Distribution: 33.3% for each of 3 classes.\n",
      "    :Creator: R.A. Fisher\n",
      "    :Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)\n",
      "    :Date: July, 1988\n",
      "\n",
      "The famous Iris database, first used by Sir R.A. Fisher. The dataset is taken\n",
      "from Fisher's paper. Note that it's the same as in R, but not as in the UCI\n",
      "Machine Learning Repository, which has two wrong data points.\n",
      "\n",
      "This is perhaps the best known database to be found in the\n",
      "pattern recognition literature.  Fisher's paper is a classic in the field and\n",
      "is referenced frequently to this day.  (See Duda & Hart, for example.)  The\n",
      "data set contains 3 classes of 50 instances each, where each class refers to a\n",
      "type of iris plant.  One class is linearly separable from the other 2; the\n",
      "latter are NOT linearly separable from each other.\n",
      "\n",
      ".. topic:: References\n",
      "\n",
      "   - Fisher, R.A. \"The use of multiple measurements in taxonomic problems\"\n",
      "     Annual Eugenics, 7, Part II, 179-188 (1936); also in \"Contributions to\n",
      "     Mathematical Statistics\" (John Wiley, NY, 1950).\n",
      "   - Duda, R.O., & Hart, P.E. (1973) Pattern Classification and Scene Analysis.\n",
      "     (Q327.D83) John Wiley & Sons.  ISBN 0-471-22361-1.  See page 218.\n",
      "   - Dasarathy, B.V. (1980) \"Nosing Around the Neighborhood: A New System\n",
      "     Structure and Classification Rule for Recognition in Partially Exposed\n",
      "     Environments\".  IEEE Transactions on Pattern Analysis and Machine\n",
      "     Intelligence, Vol. PAMI-2, No. 1, 67-71.\n",
      "   - Gates, G.W. (1972) \"The Reduced Nearest Neighbor Rule\".  IEEE Transactions\n",
      "     on Information Theory, May 1972, 431-433.\n",
      "   - See also: 1988 MLC Proceedings, 54-64.  Cheeseman et al\"s AUTOCLASS II\n",
      "     conceptual clustering system finds 3 classes in the data.\n",
      "   - Many, many more ...\n"
     ]
    }
   ],
   "source": [
    "print(iris.DESCR)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "7717bc67",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[5.1, 3.5, 1.4, 0.2],\n",
       "       [4.9, 3. , 1.4, 0.2],\n",
       "       [4.7, 3.2, 1.3, 0.2],\n",
       "       [4.6, 3.1, 1.5, 0.2],\n",
       "       [5. , 3.6, 1.4, 0.2],\n",
       "       [5.4, 3.9, 1.7, 0.4],\n",
       "       [4.6, 3.4, 1.4, 0.3],\n",
       "       [5. , 3.4, 1.5, 0.2],\n",
       "       [4.4, 2.9, 1.4, 0.2],\n",
       "       [4.9, 3.1, 1.5, 0.1],\n",
       "       [5.4, 3.7, 1.5, 0.2],\n",
       "       [4.8, 3.4, 1.6, 0.2],\n",
       "       [4.8, 3. , 1.4, 0.1],\n",
       "       [4.3, 3. , 1.1, 0.1],\n",
       "       [5.8, 4. , 1.2, 0.2],\n",
       "       [5.7, 4.4, 1.5, 0.4],\n",
       "       [5.4, 3.9, 1.3, 0.4],\n",
       "       [5.1, 3.5, 1.4, 0.3],\n",
       "       [5.7, 3.8, 1.7, 0.3],\n",
       "       [5.1, 3.8, 1.5, 0.3],\n",
       "       [5.4, 3.4, 1.7, 0.2],\n",
       "       [5.1, 3.7, 1.5, 0.4],\n",
       "       [4.6, 3.6, 1. , 0.2],\n",
       "       [5.1, 3.3, 1.7, 0.5],\n",
       "       [4.8, 3.4, 1.9, 0.2],\n",
       "       [5. , 3. , 1.6, 0.2],\n",
       "       [5. , 3.4, 1.6, 0.4],\n",
       "       [5.2, 3.5, 1.5, 0.2],\n",
       "       [5.2, 3.4, 1.4, 0.2],\n",
       "       [4.7, 3.2, 1.6, 0.2],\n",
       "       [4.8, 3.1, 1.6, 0.2],\n",
       "       [5.4, 3.4, 1.5, 0.4],\n",
       "       [5.2, 4.1, 1.5, 0.1],\n",
       "       [5.5, 4.2, 1.4, 0.2],\n",
       "       [4.9, 3.1, 1.5, 0.2],\n",
       "       [5. , 3.2, 1.2, 0.2],\n",
       "       [5.5, 3.5, 1.3, 0.2],\n",
       "       [4.9, 3.6, 1.4, 0.1],\n",
       "       [4.4, 3. , 1.3, 0.2],\n",
       "       [5.1, 3.4, 1.5, 0.2],\n",
       "       [5. , 3.5, 1.3, 0.3],\n",
       "       [4.5, 2.3, 1.3, 0.3],\n",
       "       [4.4, 3.2, 1.3, 0.2],\n",
       "       [5. , 3.5, 1.6, 0.6],\n",
       "       [5.1, 3.8, 1.9, 0.4],\n",
       "       [4.8, 3. , 1.4, 0.3],\n",
       "       [5.1, 3.8, 1.6, 0.2],\n",
       "       [4.6, 3.2, 1.4, 0.2],\n",
       "       [5.3, 3.7, 1.5, 0.2],\n",
       "       [5. , 3.3, 1.4, 0.2],\n",
       "       [7. , 3.2, 4.7, 1.4],\n",
       "       [6.4, 3.2, 4.5, 1.5],\n",
       "       [6.9, 3.1, 4.9, 1.5],\n",
       "       [5.5, 2.3, 4. , 1.3],\n",
       "       [6.5, 2.8, 4.6, 1.5],\n",
       "       [5.7, 2.8, 4.5, 1.3],\n",
       "       [6.3, 3.3, 4.7, 1.6],\n",
       "       [4.9, 2.4, 3.3, 1. ],\n",
       "       [6.6, 2.9, 4.6, 1.3],\n",
       "       [5.2, 2.7, 3.9, 1.4],\n",
       "       [5. , 2. , 3.5, 1. ],\n",
       "       [5.9, 3. , 4.2, 1.5],\n",
       "       [6. , 2.2, 4. , 1. ],\n",
       "       [6.1, 2.9, 4.7, 1.4],\n",
       "       [5.6, 2.9, 3.6, 1.3],\n",
       "       [6.7, 3.1, 4.4, 1.4],\n",
       "       [5.6, 3. , 4.5, 1.5],\n",
       "       [5.8, 2.7, 4.1, 1. ],\n",
       "       [6.2, 2.2, 4.5, 1.5],\n",
       "       [5.6, 2.5, 3.9, 1.1],\n",
       "       [5.9, 3.2, 4.8, 1.8],\n",
       "       [6.1, 2.8, 4. , 1.3],\n",
       "       [6.3, 2.5, 4.9, 1.5],\n",
       "       [6.1, 2.8, 4.7, 1.2],\n",
       "       [6.4, 2.9, 4.3, 1.3],\n",
       "       [6.6, 3. , 4.4, 1.4],\n",
       "       [6.8, 2.8, 4.8, 1.4],\n",
       "       [6.7, 3. , 5. , 1.7],\n",
       "       [6. , 2.9, 4.5, 1.5],\n",
       "       [5.7, 2.6, 3.5, 1. ],\n",
       "       [5.5, 2.4, 3.8, 1.1],\n",
       "       [5.5, 2.4, 3.7, 1. ],\n",
       "       [5.8, 2.7, 3.9, 1.2],\n",
       "       [6. , 2.7, 5.1, 1.6],\n",
       "       [5.4, 3. , 4.5, 1.5],\n",
       "       [6. , 3.4, 4.5, 1.6],\n",
       "       [6.7, 3.1, 4.7, 1.5],\n",
       "       [6.3, 2.3, 4.4, 1.3],\n",
       "       [5.6, 3. , 4.1, 1.3],\n",
       "       [5.5, 2.5, 4. , 1.3],\n",
       "       [5.5, 2.6, 4.4, 1.2],\n",
       "       [6.1, 3. , 4.6, 1.4],\n",
       "       [5.8, 2.6, 4. , 1.2],\n",
       "       [5. , 2.3, 3.3, 1. ],\n",
       "       [5.6, 2.7, 4.2, 1.3],\n",
       "       [5.7, 3. , 4.2, 1.2],\n",
       "       [5.7, 2.9, 4.2, 1.3],\n",
       "       [6.2, 2.9, 4.3, 1.3],\n",
       "       [5.1, 2.5, 3. , 1.1],\n",
       "       [5.7, 2.8, 4.1, 1.3],\n",
       "       [6.3, 3.3, 6. , 2.5],\n",
       "       [5.8, 2.7, 5.1, 1.9],\n",
       "       [7.1, 3. , 5.9, 2.1],\n",
       "       [6.3, 2.9, 5.6, 1.8],\n",
       "       [6.5, 3. , 5.8, 2.2],\n",
       "       [7.6, 3. , 6.6, 2.1],\n",
       "       [4.9, 2.5, 4.5, 1.7],\n",
       "       [7.3, 2.9, 6.3, 1.8],\n",
       "       [6.7, 2.5, 5.8, 1.8],\n",
       "       [7.2, 3.6, 6.1, 2.5],\n",
       "       [6.5, 3.2, 5.1, 2. ],\n",
       "       [6.4, 2.7, 5.3, 1.9],\n",
       "       [6.8, 3. , 5.5, 2.1],\n",
       "       [5.7, 2.5, 5. , 2. ],\n",
       "       [5.8, 2.8, 5.1, 2.4],\n",
       "       [6.4, 3.2, 5.3, 2.3],\n",
       "       [6.5, 3. , 5.5, 1.8],\n",
       "       [7.7, 3.8, 6.7, 2.2],\n",
       "       [7.7, 2.6, 6.9, 2.3],\n",
       "       [6. , 2.2, 5. , 1.5],\n",
       "       [6.9, 3.2, 5.7, 2.3],\n",
       "       [5.6, 2.8, 4.9, 2. ],\n",
       "       [7.7, 2.8, 6.7, 2. ],\n",
       "       [6.3, 2.7, 4.9, 1.8],\n",
       "       [6.7, 3.3, 5.7, 2.1],\n",
       "       [7.2, 3.2, 6. , 1.8],\n",
       "       [6.2, 2.8, 4.8, 1.8],\n",
       "       [6.1, 3. , 4.9, 1.8],\n",
       "       [6.4, 2.8, 5.6, 2.1],\n",
       "       [7.2, 3. , 5.8, 1.6],\n",
       "       [7.4, 2.8, 6.1, 1.9],\n",
       "       [7.9, 3.8, 6.4, 2. ],\n",
       "       [6.4, 2.8, 5.6, 2.2],\n",
       "       [6.3, 2.8, 5.1, 1.5],\n",
       "       [6.1, 2.6, 5.6, 1.4],\n",
       "       [7.7, 3. , 6.1, 2.3],\n",
       "       [6.3, 3.4, 5.6, 2.4],\n",
       "       [6.4, 3.1, 5.5, 1.8],\n",
       "       [6. , 3. , 4.8, 1.8],\n",
       "       [6.9, 3.1, 5.4, 2.1],\n",
       "       [6.7, 3.1, 5.6, 2.4],\n",
       "       [6.9, 3.1, 5.1, 2.3],\n",
       "       [5.8, 2.7, 5.1, 1.9],\n",
       "       [6.8, 3.2, 5.9, 2.3],\n",
       "       [6.7, 3.3, 5.7, 2.5],\n",
       "       [6.7, 3. , 5.2, 2.3],\n",
       "       [6.3, 2.5, 5. , 1.9],\n",
       "       [6.5, 3. , 5.2, 2. ],\n",
       "       [6.2, 3.4, 5.4, 2.3],\n",
       "       [5.9, 3. , 5.1, 1.8]])"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "e75739be",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(150, 4)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "ac204ee3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['sepal length (cm)',\n",
       " 'sepal width (cm)',\n",
       " 'petal length (cm)',\n",
       " 'petal width (cm)']"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.feature_names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "114391dc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
       "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
       "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
       "       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
       "       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "37b12f3b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(150,)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.target.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "02e336e5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['setosa', 'versicolor', 'virginica'], dtype='<U10')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.target_names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "8cba17a2",
   "metadata": {},
   "outputs": [],
   "source": [
    "X = iris.data[:,:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "256475ff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(150, 2)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "1bfaba13",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2247b902c40>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[:,0], X[:,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "01b6f340",
   "metadata": {},
   "outputs": [],
   "source": [
    "y = iris.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "86359762",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True,  True,  True,  True,  True,\n",
       "        True,  True,  True,  True,  True, False, False, False, False,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False, False, False, False, False, False,\n",
       "       False, False, False, False, False, False])"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y == 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "87c056ae",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "9e6857e6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2247c62d220>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0, 0], X[y==0, 1], color=\"red\")\n",
    "plt.scatter(X[y==1, 0], X[y==1, 1], color=\"blue\")\n",
    "plt.scatter(X[y==2, 0], X[y==2, 1], color=\"green\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "aa3cf5c9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2247cecd1c0>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0], X[y==0,1], color=\"red\", marker=\"o\")\n",
    "plt.scatter(X[y==1,0], X[y==1,1], color=\"blue\", marker=\"+\")\n",
    "plt.scatter(X[y==2,0], X[y==2,1], color=\"green\", marker=\"x\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5266eba8",
   "metadata": {},
   "source": [
    "关于marker参数：http://matplotlib.org/1.4.2/api/markers_api.html"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "3eef4ab6",
   "metadata": {},
   "outputs": [],
   "source": [
    "X = iris.data[:,2:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "8c943733",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2247c7b5ac0>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0], X[y==0,1], color=\"red\", marker=\"o\")\n",
    "plt.scatter(X[y==1,0], X[y==1,1], color=\"blue\", marker=\"+\")\n",
    "plt.scatter(X[y==2,0], X[y==2,1], color=\"green\", marker=\"x\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cddecf09",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
